ASP.Net MVC থেকে ASP.Net Core MVC এ মাইগ্রেশন

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) ASP.Net Core MVC এবং ASP.Net MVC এর তুলনা |
219
219

ASP.Net MVC থেকে ASP.Net Core MVC এ মাইগ্রেশন একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা একটি অ্যাপ্লিকেশনকে আধুনিক এবং আরও কার্যকরী প্ল্যাটফর্মে স্থানান্তরিত করতে সহায়ক। ASP.Net Core একটি হালকা ওজনের, মাল্টি-প্ল্যাটফর্ম (Windows, macOS, Linux) সমর্থনকারী এবং উচ্চ পারফরম্যান্স প্রদানকারী ফ্রেমওয়ার্ক, যা ASP.Net MVC-এর তুলনায় অনেক বেশি নমনীয় এবং উন্নত। মাইগ্রেশন প্রক্রিয়াটি কিছুটা চ্যালেঞ্জিং হতে পারে, তবে উপযুক্ত পরিকল্পনা এবং কিছু পদক্ষেপ অনুসরণ করলে এটি কার্যকরী হতে পারে।


ASP.Net MVC থেকে ASP.Net Core MVC এ মাইগ্রেশন কেন গুরুত্বপূর্ণ?

ASP.Net Core MVC উন্নত পারফরম্যান্স, নিরাপত্তা, স্কেলেবিলিটি এবং মাল্টি-প্ল্যাটফর্ম সাপোর্ট প্রদান করে। কিছু প্রধান কারণ যেগুলির জন্য মাইগ্রেশন করা উচিত:

  • পারফরম্যান্স উন্নতি: ASP.Net Core-এর দ্রুত পারফরম্যান্স এবং কম রিসোর্স কনজাম্পশন।
  • ক্রস-প্ল্যাটফর্ম সাপোর্ট: ASP.Net Core Windows, Linux এবং macOS-এ চালানো যায়।
  • নতুন ফিচার এবং লাইব্রেরি: ASP.Net Core নতুন ফিচার প্রদান করে, যেমন ইনজেকশন, আধুনিক রাউটিং, বৈশ্বিক সেটিংস ম্যানেজমেন্ট ইত্যাদি।
  • বিভিন্ন সার্ভারে হোস্টিং: ASP.Net Core এর অ্যাপ্লিকেশন বিভিন্ন ক্লাউড প্ল্যাটফর্মে বা স্ট্যান্ডঅ্যালোন সার্ভারে সহজে হোস্ট করা যায়।

মাইগ্রেশন প্রক্রিয়া

ASP.Net MVC থেকে ASP.Net Core MVC এ মাইগ্রেশনের জন্য কিছু নির্দিষ্ট পদক্ষেপ অনুসরণ করতে হয়। নীচে এই প্রক্রিয়া বিস্তারিতভাবে বর্ণনা করা হলো।


1. নতুন ASP.Net Core MVC প্রজেক্ট তৈরি করুন

প্রথমে একটি নতুন ASP.Net Core MVC প্রজেক্ট তৈরি করুন, যাতে আপনি অ্যাপ্লিকেশনটির কার্যকারিতা স্থানান্তর করতে পারবেন।

  • Visual Studio বা Visual Studio Code ব্যবহার করে একটি নতুন ASP.Net Core Web Application তৈরি করুন।
  • MVC টেমপ্লেট নির্বাচন করুন।

এটি একটি খালি ASP.Net Core অ্যাপ্লিকেশন তৈরি করবে।


2. ডিপেন্ডেন্সি ইনজেকশন (Dependency Injection)

ASP.Net Core MVC-তে Dependency Injection (DI) ডিফল্টভাবে সক্রিয় থাকে, যেখানে ASP.Net MVC-তে DI কনফিগার করতে কিছু অতিরিক্ত কাজ করা প্রয়োজন।

ASP.Net Core-এ Startup.cs ফাইলে DI কনফিগার করা হয়। আগের ASP.Net MVC অ্যাপ্লিকেশনে DI কনফিগারেশন করা হলে, Core-এ একই কাজ করা যেতে পারে, কিন্তু DI এর সঠিক কনফিগারেশন ফর্ম্যাট পরিবর্তন হয়েছে।

উদাহরণ:

ASP.Net Core-এ DI কনফিগারেশন:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
        services.AddScoped<IStudentService, StudentService>(); // DI কনফিগারেশন
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
        });
    }
}

3. ফাইল স্ট্রাকচার পরিবর্তন

ASP.Net Core MVC-তে ফাইল স্ট্রাকচার কিছুটা পরিবর্তিত হয়েছে:

  • Controllers: এটি একই থাকবে, তবে ASP.Net Core MVC-তে [ApiController] এবং [Route] অ্যাট্রিবিউটের মাধ্যমে API কন্ট্রোলারগুলি আরও সহজভাবে কনফিগার করা হয়।
  • Views: ASP.Net Core MVC তে Views এবং Pages গুলোর মধ্যে কিছু পার্থক্য রয়েছে। Razor Pages আধুনিক অ্যাপ্লিকেশন আর্কিটেকচারে ব্যবহৃত হয়।
  • wwwroot: ASP.Net Core MVC-তে wwwroot ফোল্ডারটি স্ট্যাটিক ফাইল যেমন CSS, JavaScript এবং ইমেজ সংরক্ষণের জন্য ব্যবহৃত হয়।

4. রাউটিং (Routing)

ASP.Net Core MVC তে রাউটিং কনফিগারেশন বেশ পরিবর্তিত হয়েছে। ASP.Net MVC-তে যেভাবে URL রাউট কনফিগার করা হয়, ASP.Net Core MVC-তে তা আর একটু আরও সহজ এবং নমনীয়।

ASP.Net Core MVC-তে রাউটিং কনফিগার করা হয় Startup.cs ফাইলে।

উদাহরণ:

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

5. মিডলওয়্যার (Middleware)

ASP.Net Core-এ Middleware কনফিগারেশন একটি নতুন ধারণা, যেখানে আপনি অ্যাপ্লিকেশনের পিপলাইন কনফিগার করেন। Middleware কনফিগারেশন এবং সিকিউরিটি সেটিংস একে অপর থেকে আলাদা।

উদাহরণ:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseRouting();
    app.UseAuthentication();  // Authentication Middleware
    app.UseAuthorization();   // Authorization Middleware
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}

6. ডাটাবেস মাইগ্রেশন (Database Migration)

ASP.Net Core Entity Framework (EF) Core ব্যবহার করে ডাটাবেস মাইগ্রেশন এবং ডাটাবেস পরিচালনা করা হয়। আগের ASP.Net MVC অ্যাপ্লিকেশনে Entity Framework ব্যবহার করা হলে, EF Core এ মাইগ্রেট করতে হবে। EF Core ডাটাবেস মাইগ্রেশন অনেক সহজ এবং দ্রুত হতে পারে, তবে কিছু অতিরিক্ত কনফিগারেশন প্রয়োজন।

উদাহরণ:

EF Core মাইগ্রেশন চালাতে:

dotnet ef migrations add InitialCreate
dotnet ef database update

7. কনফিগারেশন (Configuration)

ASP.Net Core অ্যাপ্লিকেশনে কনফিগারেশন অনেক সহজ এবং শক্তিশালী। appsettings.json এবং IConfiguration ইন্টারফেস ব্যবহার করে কনফিগারেশন ম্যানেজমেন্ট করা হয়।

উদাহরণ:

appsettings.json ফাইল কনফিগারেশন:

{
  "ConnectionStrings": {
    "DefaultConnection": "YourDatabaseConnectionString"
  }
}

ASP.Net Core-এ কনফিগারেশন ব্যবহার:

public class MyController : Controller
{
    private readonly IConfiguration _configuration;

    public MyController(IConfiguration configuration)
    {
        _configuration = configuration;
    }

    public IActionResult Index()
    {
        string connectionString = _configuration.GetConnectionString("DefaultConnection");
        return View();
    }
}

8. UI এবং Razor Views

ASP.Net Core MVC Razor Views কিছুটা পরিবর্তিত হয়েছে। Razor Pages এর ব্যবহার বাড়ানো হয়েছে, তবে ক্লাসিক Razor Views একইভাবে কাজ করে।


সারমর্ম

ASP.Net MVC থেকে ASP.Net Core MVC এ মাইগ্রেশন একটি চ্যালেঞ্জিং, তবে অত্যন্ত কার্যকরী প্রক্রিয়া। এটি অ্যাপ্লিকেশনটির পারফরম্যান্স এবং স্কেলেবিলিটি উন্নত করে, এবং মাল্টি-প্ল্যাটফর্ম সমর্থন প্রদান করে। ASP.Net Core MVC-এর বিভিন্ন নতুন ফিচার এবং উন্নত পারফরম্যান্সের কারণে এটি আরও জনপ্রিয় হয়ে উঠছে। মাইগ্রেশনের সময় অবশ্যই ডিপেন্ডেন্সি ইনজেকশন, রাউটিং, মিডলওয়্যার, কনফিগারেশন এবং ডাটাবেস মাইগ্রেশন নিয়ে পরিকল্পনা করা উচিত।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion